package java学习.第07章_面向对象编程_进阶;

/**
 * ClassName: H_equals的使用
 * Package: java学习.第07章_面向对象编程_进阶
 * Description:
 *
 * @Author 张蛟龙
 * @Create 2023/3/9 19:18
 * @Version 1.0
 */
public class G1_equals的使用 {
    public static void main(String[] args) {
        //我认为  == 相当于是次变量在栈中的值是否一样
        //因为基本数据类型直接存值 所以直接可以比较
        //引用数据类型存的是地址，所以比较的是地址
        int i = 10;
        long l = 10L;
        //对于基本数据类型，就是直接比较值 自带数据提升
        System.out.println(i == l);//true
        float f = 10.0f;
        System.out.println(i == f);//true

        //equals只能使用在引用数据类型上 包括数组

    }
    private static void String比较() {
        String s0 = "5";
        String s1 = "5";
        System.out.println(s0.equals(s1));
        System.out.println(s0 == s1);//会从字符串常量池中获取  所以true
        String s2 = new String("5");
        String s3 = new String("5");
        System.out.println(s2.equals(s3));
        //false  因为 new 总是会新创个地址 所以地址不一样
        System.out.println(s2 == s3);
    }
}
